package com.atguigu.springcloud.IOC_DI;

import jakarta.annotation.Resource;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * @author XiongJianLin
 * @date Created in 2025/2/26 15:46
 */
public class UserService {

    //  原始引用
    UserDao userDao = new UserDao();


    // spring 自动去注入
    /**
     * 老版本， 去xml 配置 <bean></bean>
     * 后面使用注解  ： 需要有get、setter / 构造方法进行依赖注入 DI
     **/
    UserDao userDao2;

    void getUser() {
        System.out.println(userDao.getUser());
    }

    /**
     * XML方式
     */
    void getUser2() {
        ClassPathXmlApplicationContext cs = new ClassPathXmlApplicationContext("beans.xml");
        Object userDao1 = cs.getBean("userDao");
        System.out.println(userDao1);

    }

    /**
     * 注解方式 ：
     */
    @Resource
    private UserDao2 userDao3;

    void getUser3() {
        System.out.println(userDao3);

    }

}
